package login;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

// 通过这个Servlet生成一个主页
@WebServlet("/index")
public class IndexServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      // 重定向操作会发送一个get请求
        // 1. 先获取当前用户对应的会话对象,生成的页面要根据当前的用户信息来构造
        HttpSession session = req.getSession(false);
        if(session == null){
            // 如果session不存在,或者 sessionId 在哈希表中没有找到
            resp.setContentType("text/html; charset=utf8");
            resp.getWriter().write("您当前还没有登录!");
            return;
        }

        // 2. 从会话中拿到之前存储的用户信息
        //    这里的强转,需要程序员自行保证,类型是靠谱的
        String usename = (String) session.getAttribute("usename");
        Long longTime = (Long) session.getAttribute("loginTime");

        // 3. 生成一个页面,把上述的数据显示到页面上
        // 构造一个显示的字符串
        resp.setContentType("text/html; charset=utf8");
        String respBody = "欢迎你 " + usename + "!" + "上次的登录时间为: " + longTime;
        resp.getWriter().write(respBody);
    }
}
